﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SWBetongXaydung.DAL;

namespace SWBetongXaydung.BLL
{
    class ThongKeCapNhienLieu
    {
        public DateTime NgayCap { get; set; }
        public decimal LuongNhienLieu { get; set; }
        public decimal DonGia { get; set; }
        public decimal ThanhTien { get { return DonGia * LuongNhienLieu; } }
        public static List<ThongKeCapNhienLieu> GetList(int thang, int nam, int IDTaiXe, string soXe)
        {
            using (var db = DBContextHelper.GetContext())
            {
                decimal donGia = 0;
                var donGiaNhienLieuObj = DonGiaNhienLieuBLL.GetDonGia(thang, nam, soXe);
                if (donGiaNhienLieuObj == null)
                    donGia = 0;
                else
                    donGia = donGiaNhienLieuObj.DonGia;
                var listNhienLieu = (from e in db.NhanNhienLieuDbSet
                                     where e.NgayNhan.Month == thang &&
                                             e.NgayNhan.Year == nam &&
                                             e.IDTaiXe == IDTaiXe &&
                                             e.SoXe == soXe
                                     orderby e.NgayNhan ascending
                                     select e).GroupBy(e => e.NgayNhan, (key, g) => new ThongKeCapNhienLieu { DonGia = donGia, LuongNhienLieu = g.Sum(t => t.LuongNhienLieu), NgayCap = key });
                return listNhienLieu.ToList();
            }
        }
    }
}
